Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2)
渡劫失败,菜得安详,自闭了。
A.Phone Numbers
题意
给定一组数字,计算在每一组数字串均以8
开头的前提下,能构成的长度为11的字符串的最大数量。
代码
1 |
|
B.Maximum Sum of Digits
题意
$S(x)$表示数字$x$各位相加的值。给定一个数$x$,令$a+b=x$,求$S(a)+S(b)$的最大值。
解法
贪心。使a中包含尽可能多的9,即为所求解。
代码
1 |
|
C.Maximum Subrectangle
题意
给定数组$a,b$,建立矩阵$c$,令矩阵$c[i][j]=a[i]·b[j]$,求不超过$x$的最大子矩阵和。
解法
可以得知子矩阵和为$(a[i]+a[i+1]+…+a[j])*(b[i]+b[i+1]+…+b[j])$.
对数组$a,b$求前缀和,分别计算出$a,b$区间长度为$[1,n]$时所能达到的最大值,遍历求解即可。
代码
1 |
|
D.Social Circles
题意
使用若干个圆桌,给$n$个人排座位。每个人左边需要有$L[i]$个空凳子,右边需要有$R[i]$个空凳子,求最少需要的凳子数。
解法
贪心。
每次加入一个人,这个人可能与他人相邻或与自己成环。与他人相连时,所需的值为$max(L_{i},R_{j})+1$;与自己成环时,所需的值为$max(L_i,R_i)+1$.要使总贡献最小,只需要使当前所取得的$max(L,R)$最小。
代码
1 |
|